package com.project.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.bean.ProductBean;
import com.project.util.InfoResult;

/**
 * @author lyl
 * description:商品相关业务
 */
public interface IProductService {
    /**
     * 分页展示库存商品信息
     *
     * @param pageNum
     * @param productName
     * @param productType
     * @param startNum
     * @param endNum
     * @return
     */
    Page<ProductBean> showProductByPage(int pageNum, String productName, String productType, int startNum, int endNum);

    /**
     * 根据id查询商品信息
     *
     * @param productId
     * @return
     */
    ProductBean findProductById(int productId);

    /**
     * 更新商品销售价格
     *
     * @param productId
     * @param salePrice
     * @return
     */
    InfoResult updateProductPrice(int productId, int salePrice);

    /**
     * 添加新的商品
     *
     * @param productBean
     * @return
     */
    long addNewProduct(ProductBean productBean);

    /**
     * 商品库存总数添加
     *
     * @param productId   商品id
     * @param purchaseNum 新添加数量或减少的数量
     * @param flag        为true是进行添加，为false进行减少
     * @return
     */
    InfoResult updateProductNum(long productId, long purchaseNum, boolean flag);
}
